home *** CD-ROM | disk | FTP | other *** search
- public isqrt
-
- assume cs:cseg,ds:cseg
-
- cseg segment
-
- isqrt proc
-
- mov edx,[esp+4]
- mov ecx,040000000h
- xor eax,eax
- l1:
- add eax,ecx
- cmp edx,eax
- jb j1
- sub edx,eax
- add eax,ecx
- add eax,ecx
- j1:
- sub eax,ecx
- shr eax,1
- shr ecx,2
- jnz l1
-
- shl edx,10
- shl eax,10
- mov ecx,0100h
- l2:
- add eax,ecx
- cmp edx,eax
- jb j2
- sub edx,eax
- add eax,ecx
- add eax,ecx
- j2:
- sub eax,ecx
- shr eax,1
- shr ecx,2
- jnz l2
- ret
- isqrt endp
-
- cseg ends
-
- end
-